const {
  PATH_CONSTANTS
} = require("./constants/pathConstants");

Page({
  data: {
    userType: 'student',
    formData: {
      username: '',
      password: '',
      confirmPassword: '',
      name: '',
      phone: '',
      studentId: '', // 学号（学生用户）
      workerId: '', // 工号（工作人员）
      dormitory: '' // 宿舍号（学生用户）
    },
    loading: false,
    userTypeOptions: [{
        label: '普通用户',
        value: 'student'
      },
      {
        label: '工作人员',
        value: 'worker'
      }
    ]
  },

  onLoad(options) {
    if (options.userType) {
      this.setData({
        userType: options.userType
      });
    }
  },

  // 用户类型选择
  onUserTypeChange(e) {
    this.setData({
      userType: e.detail.value
    });
  },

  // 表单输入处理
  onInputChange(e) {
    const {
      field
    } = e.currentTarget.dataset;
    this.setData({
      [`formData.${field}`]: e.detail.value
    });
  },

  // 表单验证
  validateForm() {
    const {
      formData,
      userType
    } = this.data;

    if (!formData.username.trim()) {
      wx.showToast({
        title: '请输入用户名',
        icon: 'none'
      });
      return false;
    }

    if (formData.username.length < 3) {
      wx.showToast({
        title: '用户名至少3个字符',
        icon: 'none'
      });
      return false;
    }

    if (!formData.password.trim()) {
      wx.showToast({
        title: '请输入密码',
        icon: 'none'
      });
      return false;
    }

    if (formData.password.length < 6) {
      wx.showToast({
        title: '密码至少6个字符',
        icon: 'none'
      });
      return false;
    }

    if (formData.password !== formData.confirmPassword) {
      wx.showToast({
        title: '两次密码输入不一致',
        icon: 'none'
      });
      return false;
    }

    if (!formData.name.trim()) {
      wx.showToast({
        title: '请输入真实姓名',
        icon: 'none'
      });
      return false;
    }

    if (!formData.phone.trim()) {
      wx.showToast({
        title: '请输入手机号',
        icon: 'none'
      });
      return false;
    }

    const phoneReg = /^1[3-9]\d{9}$/;
    if (!phoneReg.test(formData.phone)) {
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none'
      });
      return false;
    }

    if (userType === 'student') {
      if (!formData.studentId.trim()) {
        wx.showToast({
          title: '请输入学号',
          icon: 'none'
        });
        return false;
      }
      if (!formData.dormitory.trim()) {
        wx.showToast({
          title: '请输入宿舍号',
          icon: 'none'
        });
        return false;
      }
    } else {
      if (!formData.workerId.trim()) {
        wx.showToast({
          title: '请输入工号',
          icon: 'none'
        });
        return false;
      }
    }

    return true;
  },

  // 注册




  // 返回登录页面
  goToLogin() {
    wx.navigateTo({
      // 注意URL链接需要以 '/'开头;
      url: PATH_CONSTANTS.login,
    })
  }
});